package bigdecimal;


import java.math.BigDecimal;

/**
 * 浮点型数据,运算精度的问题
 * BigDecimal提供的更精准的数据计算方式
 * <p>
 * BigDecimal(double val) 将double类型的数据封装为BigDecimal对象
 * BigDecimal(String val) 将数字的字符串表示形式转换为 BigDecimal
 * 推荐使用第二种
 */
public class BigDecimalDemo {

    public static void main(String[] args) {
        System.out.println(0.09 + 0.01);      //0.09999999999999999
        BigDecimal bigDecimal = new BigDecimal("12.04");
        BigDecimal bigDecimal02 = new BigDecimal("0.4");

        BigDecimal add = bigDecimal.add(bigDecimal02);                  //加
        BigDecimal subtract = bigDecimal.subtract(bigDecimal02);        //减
        BigDecimal multiply = bigDecimal.multiply(bigDecimal02);        //乘
        //RoundingMode: 取舍模式 ----> 直接进1(UP) ， 直接删除(FLOOR) ， 4舍五入(HALF_UP)
        BigDecimal divide = bigDecimal.divide(bigDecimal02,2,BigDecimal.ROUND_UP);            //除




    }
}


